/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function Print(pRoot)
{
    // write code here
    let res = [] // 用数组储存返回结果
    let q = [] // 创建队列用于储存节点
    if(pRoot === null) return res // 当前为空直接返回
    q.push(pRoot) // 加入根节点
    while(q.length != 0){ // 当q还有数据的时候
      let temp = [] // 储存每一层的数字
      let n = q.length // 队列大小表示当前层的元素个数
      for(let i = 0;i < n;i++){
        let node = q.shift()
        temp.push(node.val) // 如果层数是奇数就插入到尾
        if(node.left !== null){
          q.push(node.left) // 如果左子树不为null 就插入左子树
        }
        if(node.right !== null){ 
          q.push(node.right) // 如果右子树不为null 就插入右子树
        }
      }
      res.push(temp) // 将结果插入到res中
    }
    return res
}
module.exports = {
    Print : Print
};
